#

| Chapter 2 UNIX Commands |

## sort

    sort [options] [files]

Sort the lines of the named `files`, typically in alphabetical order. See also uniq, comm, join.

### Options

-b

  Ignore leading spaces and tabs.

-c

  Check whether `files` are already sorted, and if so, produce no output.

-d

  Sort in dictionary order (ignore punctuation).

-f

  "Fold"; ignore uppercase/lowercase differences.

-i

  Ignore nonprinting characters (those outside ASCII range 040-176).

-m

  Merge sorted input files.

-M

  Compare first three characters as months.

-n

  Sort in arithmetic order.

-o`file`

  Put output in `file`.

-r

  Reverse the order of the sort.

-t`c`

  Fields are separated with `c` (default is any white space).

-u

  Identical lines in input file appear only one (`u`nique) time in output.

-y`kmem`

  Adjust the amount of memory (in kilobytes) sort uses. If `kmem` is not specified, allocate the maximum memory.

-z`recsz`

  Provide the maximum number of bytes for any one line in the file. This option prevents abnormal termination of sort in certain cases.

+`n` [-`m`]

  Skip `n` fields before sorting, and sort up to field position `m`. If `m` is missing, sort to end of line. Positions take the form `a`.`b`, which means character `b` of field `a`. If .`b` is missing, sort at the first character of the field.

### Examples

List files by decreasing number of lines:

>     wc -l * | sort -r

Alphabetize a list of words, remove duplicates, and print the frequency of each word:

>     sort -fd wordlist | uniq -c

Sort the password file numerically by the third field (user ID):

>     sort +2n -t: /etc/passwd

Reference: soelim |  | Reference: spell